/**
 * 
 */
package com.wisdytech.linkdcs.system.service;


import com.github.pagehelper.PageInfo;
import com.wisdytech.common.bean.Filter;
import com.wisdytech.common.bean.StandardResult;
import com.wisdytech.linkdcs.system.model.SysResource;
import com.wisdytech.linkdcs.system.model.SysRole;

import java.util.List;

/**
 * <p>
 * ClassName: ISystemRoleService
 * </p>
 * <p>
 * Description: 角色管理业务接口
 * </p>
 * <p>
 * Author: kongming
 * </p>
 * <p>
 * Date: 2017-9-13
 * </p>
 */
public interface ISystemRoleService {
    /**
     * 新增角色
     * @param sysRole 角色对象
     * @return true or false
     */
    public StandardResult addSystemRole(SysRole sysRole);
    /**
     * 删除角色
     * @param id 角色对象唯一标识id
     * @return true or false
     */
    public StandardResult delSystemRoleById(String id);
    
    /**
     * 修改角色
     * @param sysRole 角色对象的唯一标识id
     * @return
     */
    public StandardResult updateSystemRole(SysRole sysRole);
    /**
     * 分页查询角色信息列表
     * @return
     */
    public PageInfo<SysRole> listSysRoles(String roleName, String roleType, Filter filter);
    
    /**
     * 
     * <p>Description: 根据用户id获取用户角色列表</p>
     * @param userId 用户id
     * @return 用户角色列表
     */
    public List<SysRole> listRoleByUserId(String userId);
    /**
     * 
     * <p>Description: 根据角色id获取角色对象</p>
     * @param id 角色id
     * @return 角色对象
     */
    public SysRole getSysRoleById(String id);
    /**
     * 通过角色id获取资源列表信息
     * @param roleId 角色id
     * @return 资源列表信息
     */
    public List<SysResource> listSysResourceByRoleId(String roleId);
    /**
     * 查询所有角色信息
     * @return
     */
    public List<SysRole> listAllRole();
    
}
